package main

import "fmt"

// 全局定义多个不同类型的变量方式
var (
	name string
	age  int
)

func main() {
	// 第一种方式：直接定义变量类型 如果不赋值 那么他会自动给一个默认值 0
	var a int
	fmt.Println(a) //0

	// 第二种：通过 := 定义变量 自动推导类型 但是注意这种方式只能在函数里面定义 并且左侧变量不能是已经命名过得  否则会报错

	b := 10
	fmt.Println(b) //10

	// 第三种 var 变量 =  value 通过值赋值 定义类型
	var c = 11
	fmt.Println(c) //11
	manyVariables()

}
func manyVariables() {
	var (
		className string
		classAge  int
	)
	className = "Go"
	classAge = 1
	fmt.Println(className, classAge) // go 1
	// 多个变量声明
	var a, b, c int
	fmt.Println(a, b, c) // 0 0 0
	// 变量声明和赋值
	var d, e, f = 1, 2, 3
	fmt.Println(d, e, f) // 1 2 3
	// 变量声明和赋值
	g, h, i := 1, 2, 3
	fmt.Println(g, h, i) // 1 2 3
}
